package de.preisrobot.persistence.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.sql.DataSource;

import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.stereotype.Repository;

import de.preisrobot.entity.Artikel;

@Repository
public class ArikelSearchDaoImpl implements ArtikelSearchDao {

	@Resource(name="dataSource")
	DataSource s;
	
	@Override
	public List<Artikel> findArtikel(String search)
	{
		JdbcTemplate t = new JdbcTemplate(s);
		String sql =" select * from amazonartikel  where beschreibung like '%"+search+"%'";

		ResultSetExtractor<List<Artikel>> rowMapper = new ResultSetExtractor <List<Artikel>> () {

			@Override
			public 	List<Artikel>  extractData(ResultSet arg0) throws SQLException,
					DataAccessException {
			 
				List<Artikel> list = new ArrayList<Artikel>();
				while(arg0.next())
				{
					Artikel a = new Artikel();
					long id = arg0.getLong("id");
					String string = arg0.getString("artikelNr");
					String beschreibung = arg0.getString("beschreibung");
					a.setId(id);
					a.setDesc(beschreibung);
					a.setArtikelNr(string);
					
					list.add(a);
				}
				return list;
			}
		};
		return t.query(sql, rowMapper );
	}
	
	 
}
